# 作者: 赵若云
# 2025年02月20日16时35分50秒
# 3478783573@qq.com

class MusicPlayer(object):
    instance = None  # 只有唯一的一个实例，不需要多个对象去和其他设备对接

    def __new__(cls, *args, **kwargs):
        if cls.instance is None:  # 判断是否申请过空间
            # 1. 创建对象时，new方法会被自动调用
            # print("创建对象，分配空间")
            # 2. 为对象分配空间
            cls.instance = super().__new__(cls)
        # 3. 返回对象的引用
        return cls.instance

    def __init__(self, music_name):
        print(f"播放器初始化{music_name}")
        self.music_name = music_name


if __name__ == "__main__":
    # 创建播放器对象
    player1 = MusicPlayer('七里香')
    player2 = MusicPlayer('东风破')
    print(player1)  # 先new再init
    print(player2)
